home *** CD-ROM | disk | FTP | other *** search
- /**********************************************************************
- * This file contains the functions which initialize the toolbox
- * and check to see if System 7 is present, and loads the error
- * strings into memory.
- **********************************************************************/
-
- #include "QDOffscreen.h"
- #include "Creator Changer.h"
- #include "Creator Changer.init.h"
- #include "AppleEvents.h"
- #include "Folders.h"
-
-
- /**********************************************************************
- * Function Init_Toolbox(), this function initializes the Macintosh
- * toolbox so that all of the parts of the program will work.
- **********************************************************************/
-
- void Init_Toolbox(void)
- {
-
- EventRecord temp_event;
-
- InitGraf(&qd.thePort);
- InitFonts();
- FlushEvents(everyEvent, 0);
- InitWindows();
- InitMenus();
- TEInit();
- InitDialogs(NIL_PTR);
- InitCursor();
- MaxApplZone();
-
- EventAvail(everyEvent, &temp_event);
- EventAvail(everyEvent, &temp_event);
- EventAvail(everyEvent, &temp_event);
-
- About_Storage=NewPtr(sizeof(DialogRecord));
- Auto_Storage=NewPtr(sizeof(DialogRecord));
- Edit_Storage=NewPtr(sizeof(DialogRecord));
- Chng_Storage=NewPtr(sizeof(DialogRecord));
-
- All_Done=FALSE;
-
- }
-
-
-
- /**********************************************************************
- * Function Get_Error_Messages(), this function gets the error
- * messages that are stored in the resources.
- **********************************************************************/
-
- void Get_Strings(void)
- {
-
- GetIndString( Types_Error_1, ERROR_STRING_LIST, TYPES_ERROR_1 );
- GetIndString( Types_Error_2, ERROR_STRING_LIST, TYPES_ERROR_2 );
- GetIndString( Descr_Error, ERROR_STRING_LIST, DESC_ERROR );
- GetIndString( Bad_Item_Error, ERROR_STRING_LIST, BAD_ITEM_ERROR );
- GetIndString( Bad_CF_Type_1, ERROR_STRING_LIST, BAD_CF_TYPE_1 );
- GetIndString( Bad_CF_Type_2, ERROR_STRING_LIST, BAD_CF_TYPE_2 );
- GetIndString( Bad_CF_Type_3, ERROR_STRING_LIST, BAD_CF_TYPE_3 );
- GetIndString( Bad_CF_Type_4, ERROR_STRING_LIST, BAD_CF_TYPE_4 );
- GetIndString( Pref_File_Name, MISC_STRING_LIST, PREF_FILE_NAME );
-
- }
-
-
-
- /**********************************************************************
- * Function Check_Sys_Type(), this function checks to see if System
- * seven or later is present, if it isn't then the program quits.
- **********************************************************************/
-
- void Check_Sys_Type(void)
- {
-
- short sys_7=0x0700;
- short vers_requsted=1;
- SysEnvRec the_environ;
-
- SysEnvirons(vers_requsted, &the_environ);
-
- if(the_environ.systemVersion>=sys_7) All_Done=FALSE;
- else
- {
- GetIndString(Sys7_Error_1, ERROR_STRING_LIST, SYS7_ERROR_1);
- GetIndString(Sys7_Error_2, ERROR_STRING_LIST, SYS7_ERROR_2);
- Do_Error(Sys7_Error_1, EMPTY_STR, Sys7_Error_2, EMPTY_STR);
- ExitToShell();
- }
-
- }
-
-
- /**********************************************************************
- * Function Open_Preferences(), this function opens the preference
- * file that is used to set creator types.
- **********************************************************************/
-
- void Open_Preferences(void)
- {
-
- OSErr file_Err;
- pref_types **pt_handle[4];
- auto_chng **ac_handle[3];
- global_prefs **global;
- Handle **pref_string, **TMPL_handle[3], **global_vals;
- int i;
-
- CreatorChangerApp=CurResFile();
-
- file_Err=FindFolder(kOnSystemDisk, kPreferencesFolderType, kDontCreateFolder, &Pref_VRef, &Pref_Dir_ID);
- if(file_Err==noErr) file_Err=FSMakeFSSpec(Pref_VRef, Pref_Dir_ID, Pref_File_Name, &Pref_Spec);
- if(file_Err==fnfErr)
- {
- FSpCreateResFile(&Pref_Spec, 'CPrf', kPreferencesFolderType, -1);
-
- CreatorChangerPref=FSpOpenResFile(&Pref_Spec, 3);
-
- pref_string=(Handle **)GetResource('STR ', -16397);
- DetachResource((Handle)pref_string);
-
- global_vals=(Handle **)GetResource('pref', Strt_Rsrc+7);
- DetachResource((Handle)global_vals);
-
- for(i=0;i<=3;i++)
- {
- TMPL_handle[i+1]=(Handle **)GetResource('TMPL', Strt_Rsrc+i);
- DetachResource((Handle)TMPL_handle[i+1]);
- }
-
- for(i=0;i<=3;i++)
- {
- pt_handle[i+1]=(pref_types **)GetResource('pref', Strt_Rsrc+i);
- DetachResource((Handle)pt_handle[i+1]);
- }
-
- for(i=4;i<=6;i++)
- {
- ac_handle[i-3]=(auto_chng **)GetResource('pref', Strt_Rsrc+i);
- DetachResource((Handle)ac_handle[i-3]);
- }
-
- UseResFile(CreatorChangerPref);
-
- AddResource((Handle)global_vals, PREF_GL, 128, NIL_PTR);
-
- AddResource((Handle)TMPL_handle[1], 'TMPL', 128, "\pCCpt");
- AddResource((Handle)TMPL_handle[2], 'TMPL', 129, "\pCCgl");
- AddResource((Handle)TMPL_handle[3], 'TMPL', 130, "\pCCac");
-
- AddResource((Handle)pref_string, 'STR ', -16397, NIL_PTR);
-
- for(i=0;i<=3;i++) AddResource((Handle)pt_handle[i+1], PREF_PT, Strt_Rsrc+i, (**pt_handle[i+1]).Description);
- for(i=0;i<=2;i++) AddResource((Handle)ac_handle[i+1], PREF_AC, Strt_Rsrc+i, (**ac_handle[i+1]).Name);
-
- UpdateResFile(CreatorChangerPref);
-
- ReleaseResource((Handle)pref_string);
- ReleaseResource((Handle)global_vals);
-
- for(i=1;i<=3;i++) ReleaseResource((Handle)TMPL_handle[i]);
- for(i=1;i<=4;i++) ReleaseResource((Handle)pt_handle[i]);
- for(i=1;i<=3;i++) ReleaseResource((Handle)ac_handle[i]);
-
- Num_pt=CountResources(PREF_PT);
- Num_ac=CountResources(PREF_AC);
-
- global=(global_prefs **)GetResource(PREF_GL, 128);
- Global=global;
-
- UseResFile(CreatorChangerApp);
- }
- else
- {
- CreatorChangerPref=FSpOpenResFile(&Pref_Spec, 3);
-
- UseResFile(CreatorChangerPref);
- Num_pt=CountResources(PREF_PT);
- Num_ac=CountResources(PREF_AC);
- global=(global_prefs **)GetResource(PREF_GL, 128);
- Global=global;
- UseResFile(CreatorChangerApp);
- }
-
- }
-
-
-
- /**********************************************************************
- * Function Set_Up_Menu_Bar(), this function displays the menu bar
- * for the program.
- **********************************************************************/
-
- void Set_Up_Menu_Bar(void)
- {
-
- Handle menu_bar;
-
- menu_bar=GetNewMBar(MAIN_MENU_BAR_ID);
- SetMenuBar(menu_bar);
- Apple_Menu=GetMHandle(APPLE_MENU_ID);
- Options_Menu=GetMHandle(OPTIONS_MENU_ID);
- AddResMenu(Apple_Menu, 'DRVR');
- DrawMenuBar();
-
- }
-
-
-
- /**********************************************************************
- * Function Do_Error(), this function does the error routine.
- **********************************************************************/
-
- void Do_Error(StringPtr s1, StringPtr s2, StringPtr s3, StringPtr s4)
- {
-
- ParamText(s1, s2, s3, s4);
- Alert(ERROR_ALERT_ID, NIL_PTR);
-
- }
-
-
-
- /**********************************************************************
- * Function Is_Pressed(), this function determine what key is pressed.
- **********************************************************************/
-
- Boolean Is_Pressed(unsigned short key)
- {
-
- unsigned char key_mask[16];
-
- GetKeys((long *)key_mask);
- return((key_mask[key>>3]>>(key&7))&1);
-
- }
-
-